package com.etoak.stock.service;

import com.etoak.stock.pojo.domin.SysAddUserDomain;
import com.etoak.stock.pojo.domin.SysUserDomain;
import com.etoak.stock.pojo.entity.SysUser;
import com.etoak.stock.vo.req.LoginReqVo;
import com.etoak.stock.vo.req.UpdateUserRoleVo;
import com.etoak.stock.vo.req.UpdateUserVo;
import com.etoak.stock.vo.req.UserPageReqVo;
import com.etoak.stock.vo.resp.LoginRespVo;
import com.etoak.stock.vo.resp.PageResult;
import com.etoak.stock.vo.resp.R;
import com.etoak.stock.vo.resp.UserInfoResp;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@SuppressWarnings("ALL")
public interface UserService {
    SysUser finUserInfoByUserName(String name);

    R<LoginRespVo> login(LoginReqVo loginReqVo);

    R<Map> getCaptchaCode();


    R<PageResult<SysUserDomain>> getUsers(UserPageReqVo userPageReqVo);

    R addUser(SysAddUserDomain sxysAddUserDomain);

    R<Map<String, List>> getUserRoles(String userId);

    R updateUserRole(UpdateUserRoleVo updateUserRoleVo);

    R<UserInfoResp> getUserById(String userId);

    R updateUser(UpdateUserVo updateUserVo);

    R deleteBatchUser(List<Long> ids);
}
